1. Field of the Invention
This invention is directed to a threading apparatus such as a machining center or a tapping machine for performing tapping.
2. Description of the Related Art
Conventionally, a numerically controlled (NC) tapping operation in an NC threading apparatus or device is controlled by generating signals in the NC device for controlling the feed rate of a spindle head and the rotation rate of a spindle, based on a pitch of the screw threads to be formed. A feed motor for feeding the spindle head and a rotation motor for rotating the spindle are controlled as independent servo systems. A deviation between a feed quantity and a rotation quantity occurs, for example, when reversing the rotation motor, and is absorbed by mechanical expansion and contraction of a tapper interposed between a tapping tool and the spindle. Accordingly, a threading speed is limited by the performance of the tapper.
To cope with this problem, an apparatus has been proposed for synchronously controlling the feed motor and the rotation motor, such as an apparatus designed to detect an actual feed quantity and drive the rotation motor according to the detected feed quantity (see Laid-open Japanese Patent Application No. 60-155319), or an apparatus designed to drive the rotation motor according to a feed velocity and a feed acceleration (see U.S. Pat. No. 4,879,660). These apparatus are able to obtain a high synchronization precision between the feed and the rotation, so that threading can be performed in most cases without needing the tapper.
However, in recent years, reduced machining times have increasingly been demanded. In addition, high-speed threading at a speed near the limit of the tapping tool is sometimes performed. If the machine is in an ideal condition, threading can be performed at a relatively high speed even by the conventional apparatuses. However, since a supporting system of an actual machine, rather than the ideal machine, has friction resistance, the friction resistance sometimes interferes with high-speed threading.
The feed friction resistance of the spindle head is different from rotational friction resistance of the spindle. In general, the feed friction resistance is greater than the rotational friction resistance. In the apparatus disclosed in U.S. Pat. No. 4,879,660, the rotation motor is driven according to a feed acceleration in addition to a feed velocity. Accordingly, fluctuations in the feed velocity due to dynamic friction resistance in a constant-speed threading operation can be eliminated to obtain a high synchronization precision. However, a rise delay in the feed velocity due to static friction resistance when starting the tapping operation cannot be eliminated, thus causing a decrease in the synchronization precision. In other words, the rotation velocity of the spindle quickly rises when starting the tapping operation, but the feed velocity of the spindle head does not quickly rise when starting the tapping operation, hindering high-speed threading. Further, although the static friction resistance can be eliminated by increasing a gain in the feed driving means, the gain increase causes hunting in the constant-speed threading operation, thus making proper threading impossible.
A prior art threading apparatus is shown in FIG. 3. A vertical tapping machine comprises a machine body 1. A spindle head 5 is vertically slidably supported by a slider 4 against a column 3, which extends vertically from a base 2. The spindle head 5 threadably engages a ball screw 6. The ball screw 6 is connected to a feed motor 7, which is in particular an AC servo motor. The ball screw 6 is rotated by the AC servo feed motor 7 to vertically move the spindle head 5. A tachometer generator 8 is attached to the feed motor 7 to detect the rotational (feed) velocity of the feed motor 7. A pulse generator 9 is also attached to the feed motor 7 to detect a rotational (feed) position of the spindle head 5. The pulse generator 9 forms feed position detecting means for detecting the feed position of the spindle head 5.
A spindle 11 is rotatably supported by the spindle head 5. The spindle 11 is rotated by a rotation motor 12, which is also in particular an AC servo motor. A tachometer generator 13 is attached to the AC servo rotation motor 12 to detect a rotational velocity of the AC servo motor 12. A pulse generator 14 is attached to the rotation motor 12 to detect a rotational position of the spindle 11. The pulse generator 14 forms rotational position detecting means for detecting the rotational position of the spindle 11. A tapping tool 15 is directly mounted on the lower end of the spindle 11. A tapper is not used, and in particular, a tapper is not placed between the spindle 11 and the tapping tool 15. The tapping tool 15 is rotated by the rotation motor 12 and fed by the feed motor 7 to thread a drilled hole 16 drilled in a workpiece 17.
A feed control circuit for vertically moving the spindle head 5 along the Z axis is also shown in FIG. 3. A feed command value Z is generated in a computer 22 based on data input from an input device 21. The feed command value Z is then output as a pulse train, corresponding to a feed velocity, to a feed deviation counter 23. The feed deviation counter 23 also inputs pulses corresponding to rotational angles of the feed motor 7 as a position feedback signal from the pulse generator 9. The feed deviation counter 23 then determines a feed deviation signal E(Z) as shown in Eq. (1): EQU E(Z)=Z-z (1)
where Z is the feed command value, and z is a feed position detected by the pulse generator 9. The feed deviation counter 23 outputs the feed deviation signal E(Z) as a velocity command to a feed servo amplifier 24. The feed servo amplifier 24 also inputs a velocity signal v(z), corresponding to an actual velocity, as a velocity feedback signal from the tachometer generator 8. The feed servo amplifier 24 then outputs a feed motor control signal to the feed motor 7 based on the velocity signal v(z) and the feed deviation signal E(Z). Thus, a closed-loop velocity loop system drives the feed motor 7.
A rotation control circuit for rotating the spindle 11 about the Z axis is also shown in FIG. 3. In the rotation control circuit, a rotation command value R1 is not directly given from the input device 21, but rather is determined from the feed command value Z output from the computer 22. The feed command value Z output from the computer 22 is input into an acceleration computer 25. The acceleration computer 25 determines a feed acceleration signal A(Z), as shown in Eq. (2): ##EQU1## where .increment.Z is the feed command value per unit time. The acceleration computer 25 outputs the acceleration signal A(Z) to an adder 26. The adder 26 also inputs an actual feed quantity .increment.z per unit time as a feed feedback pulse from the pulse generator 9. The adder 26 adds the actual feed quantity .increment.z and the acceleration signal A(Z) and outputs the sum to a rotation command value computer 27. The actual feed quantity .increment.z per unit time corresponds to the actual feed velocity v(z). Thus, the output from the adder 26 is the sum (.increment.z+d/dt(.increment.Z)) of the feed velocity v(z) and the feed acceleration A(Z). The rotation command value computer 27 determines the rotation command value R1, as shown in Eq. (3): ##EQU2## where P is a pitch of screw threads and L is a lead of the ball screw 6. P is preliminarily input from the input device 21 through the computer 22. Thus, the rotation command value computer 27 multiplies the output from the adder 26 by L/P. The lead L of the ball screw 6 is preliminarily stored because it is a fixed value in the threading apparatus.
The rotation command value R1 output from the rotation command value computer 27 corresponds to the sum of the feed velocity v(z) and the feed acceleration A(Z). Thus, the rotation command value R1 is a predictive rotation command value of future movement of the spindle head 5. The rotation command value R1 is output through an adder 28 to a rotation servo amplifier 29. The adder 28 corrects the rotation command value R1. More specifically, pulses from the pulse generator 14 indicating a rotational position r of the spindle 11 are input into a rotation deviation counter 30. The pulses from the pulse generator 9 detecting the feed quantity z are input into a rotation correction computer 31. The rotation correction computer 31 determines a rotation correction value r(z), as shown in Eq. (4): EQU r(z)=(Lz)/P (4)
Thus, r(z) corresponds to the feed quantity z multiplied by L/P. Then, the rotation correction computer 31 outputs the rotation correction value r(z) to the rotation deviation counter 30. The rotation deviation counter 30 determines a rotation deviation E(r) between the rotation correction value r(z) and the rotational position r of the spindle 11. The rotation deviation counter 30 outputs the rotation deviation E(r) to the adder 28. The adder 28 corrects the rotation command value R1 input from the rotation command value computer 27 using the rotation deviation E(r). The adder 28 then outputs a corrected rotation command value R1(E), as shown in Eq. (5): EQU R1(E)=R1+E(r) (5)
The corrected rotation command value is then output to the rotation servo amplifier 29.
The rotation servo amplifier 29 also inputs a rotational velocity feedback signal v(r), corresponding to a velocity, from the tachometer generator 13. The rotation servo amplifier 29 then outputs a rotation motor control signal to the rotation motor 12 based on the velocity feedback signal v(r) and the corrected rotation command value R1(E). Thus, a closed-loop velocity loop system drives the rotation motor 12 based on the corrected rotation command value R1(E). With the above-outlined control circuit, the feed motor 7 is driven by inputting data including a screw pitch P, feed stroke (tapping depth), and feed velocity from the input device 21, and the rotation motor 12 is driven synchronously with the feed motor 7, thus performing threading.
However, there is a possibility that an error due to static friction resistance may occur when starting the tapping operation. FIGS. 4A and 4B show a rotation velocity of the spindle 11, and a feed velocity of the spindle head 5, respectively, against the elapsed time. Since the feed system for the spindle head 5 has large static friction resistance, the feed velocity does not quickly rise in response to a velocity command, as shown by a solid line in FIG. 4B during period T1. The feed servo amplifier 24 generates a velocity deviation between the feed deviation E(Z) and the signal v(z) corresponding to the actual velocity as the velocity feedback signal from the tachometer generator 8. Accordingly, this velocity deviation increases with an elapsed time. When the driving force of the feed motor 7 overcomes the static friction resistance, the feed velocity rapidly rises during period T2. Once the feed operation is started, the static friction resistance changes to dynamic friction resistance and decreases in resistance value. Therefore, the feed operation is smoothly performed in accordance with the velocity command after the period T2. In contrast, the rotation system for the spindle 11 has friction resistance which is smaller than the friction resistance of the feed system. Accordingly, the spindle 11 is smoothly rotated from the start of the tapping operation. As a result, there occurs an error when starting the of tapping operation.